Microcontrollers generally constitute a system on a chip and comprise a microprocessor and a plurality of peripheral components. A wide variety of such microcontrollers exist having 8-bit, 16-bit and 32-bit architectures. Existing microcontrollers such as 8-bit microcontrollers manufactured by Microchip Technology Inc. provide for a flexible architecture. Such microcontrollers comprise a Harvard architecture in which program and data memories are separated. Microcontrollers of this type further comprise a specific banking system that allows access to the data memory. Generally, the data memory is divided in a plurality of banks and a bank select register defines which of the banks is currently selected and accessible. To access other banks, the bank select register has to be re-programmed. Even though a banking scheme, thus, only allows access to a defined memory bank, these controllers include instructions that force a switch to a predefined bank. This provides for improved and powerful performance despite the general access limitations.
However, there exists still bottlenecks in accessing the memory. Hence, there exists a need for an improved microcontroller architecture.